# !/usr/bin/python
# -*- coding: utf-8 -*-
"""
@文件    :   my_excerse002.py
@时间    :   2022/05/20 08:23:31
@作者    :   YTNetMan
@版本    :   1.0
@邮箱    :   ytnetman@163.com
@版权    :   (C)Copyright 2022-2025
@分类    :   每日一练
@功能    :   一行代码
"""

def my_abs(num):
    abs(num)                 #绝对值
    print(num,"的绝对值或模是：",abs(num))
    
#默认all函数可以判定一个元组或者列表中的元素是否都为真
#默认的是元组中不存在0、空字符、none,就返回True，其他的都为False
#变量iterable实际上是迭代器，也就是需要遍历完才能出结果
def my_all(iterable):
    bull = all(iterable)   #all()判定一个元组或者列表中的元素是否都为真
    print(bull)

#当any中元素全为0或者‘’或者FALSE时，返回FALSE，否则返回TRUE
def my_any(iterable):
    bull = any(iterable)
    print(bull)
#十进制转二进制
def my_bin(num):
    b = bin(num)
    print(b)
#十进制转八进制
def my_oct(num):
    o = oct(num)
    print(o)
#十进制转十六进制
def my_hex(num):
    h = hex(num)
    print(h)
#判断对象真假
def my_bool(obj):
    b = bool(obj)
    print(b)
#字符串转字节
def my_bytes(str):
    b = bytes(str,encoding="utf-8")
    print(b)
#整数转为字符串
def my_str(int):
    s = str(int)
    print(s)
#判断对象或变量能否被调用
#对于函数、方法、lambda 函式、 类以及实现了 __call__ 方法的类实例, 它都返回 True
def my_callable(obj):
    o = callable(obj)
    print(o)
if __name__ == '__main__':
    my_abs(-6)          #求绝对值
    my_all([1,0,3,6])   #其中有0，所以返回False
    my_all([123])       #返回真
    my_any([0,0,"",[]]) #返回假
    my_any([0,[],1])    #返回真
    my_bin(10)            # 结果 0b1010
    my_oct(10)            # 结果  0o12
    my_hex(100)           # 结果  0x64
    my_bool([0,0,0])        #True 列表中有值
    my_bool([])             #False 空表
    my_bytes("apple")       # b'apple'
    my_str(100)             # 100
    my_callable('小明')      #False
